#!/usr/bin/python
# -*- coding: utf-8 -*-

H = [[0,1,2,3],[3,2,0,1],[3,2,0,1],[1,0,2,3]]
M = [[0,2,1,3],[3,1,2,0],[0,3,1,2],[2,3,0,1]]
parejas = [-1,-1,-1,-1]
mlibre = [3,2,1,0]
hlibre = [3,2,1,0]

def pareja():
    while (hlibre != []):
        hombre = hlibre.pop()
        mujer = H[hombre][0]
        if (mujer in mlibre):
            mlibre.remove(mujer)
            H[hombre].remove(mujer)
            parejas[hombre] = mujer
        else:
            actual = parejas.index(mujer)
            if M[mujer].index(hombre)<actual:
                hlibre.append(actual)
                parejas[actual] = -1
                parejas[hombre] = mujer
            else:
                hlibre.append(hombre)

if __name__ == "__main__":
    pareja()
    print parejas
